package chemtools_logica.LN.SFBean;

import chemtools_logica.BDL.IR.BDL_SFPersonaRemote;
import chemtools_logica.BDL.IR.BDL_SFUsuarioRemote;

import chemtools_logica.Beans.PersonaBean;

import chemtools_logica.Entidades.Persona;

import chemtools_logica.LN.IL.LN_SFPersonaLocal;
import chemtools_logica.LN.IR.LN_SFPersonaRemote;

import java.util.List;

import javax.annotation.Resource;

import javax.ejb.EJB;
import javax.ejb.SessionContext;
import javax.ejb.Stateless;

import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

@Stateless(name = "LN_SFPersona", mappedName = "map-LN_SFPersona")
public class LN_SFPersonaBean implements LN_SFPersonaRemote, LN_SFPersonaLocal {
    @Resource
    SessionContext sessionContext;
    @PersistenceContext(unitName = "Chemtools_Logica")
    private EntityManager em;

       @EJB
       BDL_SFPersonaRemote bDL_SFPersonaRemote;
    public LN_SFPersonaBean() {
    }
    public void editarPersona(PersonaBean personaBean){
            bDL_SFPersonaRemote.mergePersona(beanxEntidad(personaBean));
        }

    private Persona beanxEntidad(PersonaBean personaBean) {
        Persona persona=new Persona();
        persona.setIdPersona(personaBean.getIdPersona());
        //persona.setIdPersona(2);
        persona.setNombre(personaBean.getNombre());
        persona.setApellido(personaBean.getApellido());
        persona.setDni(personaBean.getDni());
        persona.setTelefono(personaBean.getTelefono());
        persona.setFecha_Nacimiento(personaBean.getFecha_Nacimiento());
        persona.setDireccion(personaBean.getDireccion());
        persona.setIdDepartamento(personaBean.getIdDepartamento());
        persona.setIdProvicia(personaBean.getIdProvicia());
        persona.setIdDistrito(personaBean.getIdDistrito());
        return persona;
    }
    public Persona registrarPersona(PersonaBean personaBean){
        return bDL_SFPersonaRemote.persistPersona(beanxEntidad(personaBean));
        }
    
    public List<Persona> buscaPersona(PersonaBean p){
        return bDL_SFPersonaRemote.buscaPersona(p);
        }
    public List<Persona> existeDNI(PersonaBean p){
        return bDL_SFPersonaRemote.existeDNI(p);
        }
}
